package com.maisonliberte.util;

import java.util.ArrayList;

public class HtmlUtil {

	public static String getATag(String tag){
		if(tag.indexOf("<a ") > -1){
			String tmp = tag.substring(tag.indexOf("<a "));
			tmp = tmp.substring(0, tmp.indexOf("</a>") + 4);
			return tmp.trim();
		}
		return null;
	}
	
	public static String getImgTag(String tag){
		if(tag.indexOf("<img ") > -1){
			String tmp = tag.substring(tag.indexOf("<img "));
			tmp = tmp.substring(0, tmp.indexOf(">") + 1);
			return tmp.trim();
		}
		return null;
	}
	
	public static ArrayList<String> getImgTagList(String tag){
		ArrayList<String> imgTagList = new ArrayList<String>();
		String tmp = tag;
		while(tmp.indexOf("<img ") > -1){
			String tmp_sub =  getImgTag(tmp);
			imgTagList.add(tmp_sub.trim());
			tmp = tmp.replace(tmp_sub, "");
		}
		
		return imgTagList;
	}
	
	public static ArrayList<String> getATagList(String tag){
		
		ArrayList<String> aTagList = new ArrayList<String>();
		String tmp = tag;
		while(tmp.indexOf("<a ") > -1){
			String tmp_sub =  getATag(tmp);
			aTagList.add(tmp_sub.trim());
			tmp = tmp.replace(tmp_sub, "");
		}
		
		return aTagList;
		
	}
	
	public static String getHrefOfATag(String tag, String endStr){
		if(tag.indexOf("<a") > -1){
			String tmp = tag.substring(tag.indexOf("<a"));
			String src = tmp.substring(tmp.indexOf("href=") + 5);
			src = src.substring(0, src.indexOf(endStr));
			src = src.replace("\"", "");
			return src.trim();
		}
		
		return null;
	}
	
	public static String getTextLabelOfATag(String tag){
		
		if(tag.indexOf("<a") > -1){
			String tmp = tag.substring(tag.indexOf("<a"));
			String aLeft = tmp.substring(0, tmp.indexOf(">") + 1);
			String aRight = "</a>";
			String textLabel = tmp.replace(aLeft, "").replace(aRight, "");
			
			return textLabel.trim();
		}
		return null;
	}
	
	public static String getImageSrcOfImgTag(String tag, String endStr){
		if(tag.indexOf("<img") > -1){
			String tmp = tag.substring(tag.indexOf("<img"));
			String src = tmp.substring(tmp.indexOf("src=") + 4);
			src = src.substring(0, src.indexOf(endStr));
			src = src.replace("\"", "");
			return src.trim();
					
		}
		return null;
	}
	
	public static String getSrcOfScriptTag(String tag, String endStr){
		if(tag.indexOf("<script") > -1){
			String tmp = tag.substring(tag.indexOf("<script"));
			String src = tmp.substring(tmp.indexOf("src=") + 4);
			src = src.substring(0, src.indexOf(endStr));
			src = src.replace("\"", "");
			return src.trim();
					
		}
		return null;
	}
	
	public static String getTextLabelOfDivTag(String tag){
		if(tag.indexOf("<div") > -1){
			String leftDiv = tag.substring(tag.indexOf("<div"));
			leftDiv = leftDiv.substring(0, leftDiv.indexOf(">") + 1);
			String rightDiv = "</div>";
			String textLabel = tag.replace(leftDiv, "").replace(rightDiv, "");
			return textLabel.trim();
		}
		
		return null;
	}
	
	public static String getTextLabelOfSpanTag(String tag){
		if(tag.indexOf("<span") > -1){
			String leftSpan = tag.substring(tag.indexOf("<span"));
			leftSpan = leftSpan.substring(0, leftSpan.indexOf(">") + 1);
			String rightSpan = "</span>";
			String textLabel = tag.replace(leftSpan, "").replace(rightSpan, "");
			return textLabel.trim();
		}
		
		return null;
	}
	
	public static String getTextLabelOfHTag(String tag){
		if(tag.indexOf("<h2") > -1){
			String leftTag = tag.substring(tag.indexOf("<h2"));
			leftTag = leftTag.substring(0, leftTag.indexOf(">") + 1);
			String rightTag = "</h2>";
			String textLabel = tag.replace(leftTag, "").replace(rightTag, "");
			return textLabel.trim();
		}
		
		return null;
	}
	
	public static String getAmount(String tag, String keyword, boolean isForward){
    	
		if(isForward){
			String am = "";
			String tmp = tag.substring(tag.indexOf(keyword) + String.valueOf(keyword).length());
			for(int i = 0; i < tmp.length() - 1; i++){
				if(NumberUtil.isNumber(String.valueOf(tmp.charAt(i)))){
					am += tmp.charAt(i);
				}else{
					break;
				}
			}
			return am;
		}else{
			String am = "";
			String tmp = tag.substring(tag.indexOf(keyword));
			for(int i = tmp.length() - 1; i > -1; i--){
				if(NumberUtil.isNumber(String.valueOf(tmp.charAt(i)))){
					am = tmp.charAt(i) + am;
				}else{
					break;
				}
			}
			return am;
		}
		
    }

}
